package ui;

import java.util.Vector;

import javax.swing.event.TableModelListener;
import javax.swing.table.TableModel;

import dominio.Articulo;

public class ArticuloModel implements TableModel {
  
	Vector<Articulo> articulos;
    String columnas[] = {"C\u00f3digo", "Rubro - Marca", "Detalle", "Medidas", "Bocas", "Precio de lista", "Acci\u00f3n"};
    Vector<TableModelListener> cosas;
    
    public ArticuloModel(Vector<Articulo> articulos) {
    	this.articulos = articulos; 
		cosas = new Vector<TableModelListener>();
    }
    
    public void cambiarLista(Vector<Articulo> articulos) {
    	this.articulos = articulos;
    }

    public int getRowCount() {
    	return articulos.size();
    }

    public int getColumnCount() {
    	return columnas.length;
    }

    public String getColumnName(int columnIndex) {
    	return columnas[columnIndex];
    }

    public Class<?> getColumnClass(int columnIndex) {
    	return String.class;
    }

    public boolean isCellEditable(int rowIndex, int columnIndex) {
    	return false;
    }

    public Object getValueAt(int rowIndex, int columnIndex) {

		switch (columnIndex) {
			case 0: return articulos.elementAt(rowIndex).getCodigo();
			case 1: return articulos.elementAt(rowIndex).getRubro_marca();
			case 2: return articulos.elementAt(rowIndex).getDetalle();
			case 3: return articulos.elementAt(rowIndex).getMedidas();
			case 4: return articulos.elementAt(rowIndex).getBocas();
			case 5: return articulos.elementAt(rowIndex).getPrecio_listaFormateado();
			case 6: return "AGREGAR";
		}
		
		return "";
	}

    public void setValueAt(Object aValue, int rowIndex, int columnIndex) {

    }

    public void addTableModelListener(TableModelListener l) {
    	cosas.add(l);
    }

    public void removeTableModelListener(TableModelListener l) {
    	cosas.remove(l);
    }
    
}
